# 搜集所有在指定路径下的源文件的文件名，将输出结果列表储存在指定的变量中。
aux_source_directory(. SOURCE_FILES )

# 或者使用下面这种方式。
#set( SOURCE_FILES
#        apple.cpp
#        orage.cpp )

# 添加包含目录，CMake将在这些目录寻找 .cpp 文件中引用到的头文件。
include_directories( ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/third/libevent/include )

# 指定编译后的库文件的输出路径。
set( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib )

# 生成目标动态库。
add_library( server SHARED ${SOURCE_FILES} ../include/threadpool.h)

# 生成目标静态库。
add_library( server_static STATIC ${SOURCE_FILES} ../include/threadpool.h)

# 指定静态库的输出名称。
set_target_properties( server_static PROPERTIES OUTPUT_NAME "server" )

# 允许静态库与动态库同时存在。
set_target_properties( server PROPERTIES CLEAN_DIRECT_OUTPUT 1 )
set_target_properties( server_static PROPERTIES CLEAN_DIRECT_OUTPUT 1 )

# 指定动态库的版本：
# VERSION 动态库版本；
# SOVERSION API的版本。
set_target_properties( server PROPERTIES VERSION 1.0 SOVERSION 1 )
